

	.text
	.align	16
	.globl	__Z12alarm_threadPv
	.def	 __Z12alarm_threadPv;	.scl	2;	.type	32;	.endef
__Z12alarm_threadPv:
Llabel1:
	pushl	%esi
	subl	$16, %esp
	call	*__imp__pthread_self
	movl	%edx, 4(%esp)
	movl	%eax, (%esp)
	movl	__imp__pthread_detach, %eax
	call	*%eax
	testl	%eax, %eax
	movl	24(%esp), %esi
	je	LBB1_2	# bb3
LBB1_1:	# bb
	movl	$_.str4, (%esp)
	call	_printf
LBB1_2:	# bb3
	imull	$1000, (%esi), %eax
	movl	%eax, (%esp)
	call	_Sleep@4
	subl	$4, %esp
	movl	(%esi), %eax
	leal	4(%esi), %ecx
	movl	%ecx, 8(%esp)
	movl	%eax, 4(%esp)
	movl	$_.str5, (%esp)
	call	_printf
	movl	%esi, (%esp)
	call	_free
	xorl	%eax, %eax
	addl	$16, %esp
	popl	%esi
	ret


	.align	16
	.globl	_main
	.def	 _main;	.scl	2;	.type	32;	.endef
_main:
	pushl	%ebp
Llabel2:
	movl	%esp, %ebp
Llabel3:
	pushl	%esi
	subl	$156, %esp
	call	___main
	movl	$_.str, (%esp)
	call	_printf
	movl	__imp___iob, %ecx
	movl	%ecx, 8(%esp)
	leal	-144(%ebp), %ecx
	movl	%ecx, (%esp)
	.align	16
LBB2_1:	# entry
	movl	$128, 4(%esp)
	call	_fgets
	testl	%eax, %eax
	je	LBB2_7	# bb1
LBB2_2:	# bb2
	leal	-144(%ebp), %eax
	movl	%eax, (%esp)
	call	_strlen
	cmpl	$2, %eax
	jb	LBB2_5	# bb.backedge
LBB2_3:	# bb3
	movl	$68, (%esp)
	call	_malloc
	movl	%eax, %esi
	leal	-144(%ebp), %ecx
	movl	%ecx, (%esp)
	movl	%esi, 8(%esp)
	leal	4(%esi), %ecx
	movl	%ecx, 12(%esp)
	movl	$_.str1, 4(%esp)
	call	_sscanf
	cmpl	$1, %eax
	jg	LBB2_6	# bb6
LBB2_4:	# bb5
	movl	__imp___iob, %eax
	addl	$64, %eax
	movl	%eax, 12(%esp)
	movl	$12, 8(%esp)
	movl	$1, 4(%esp)
	movl	$_.str2, (%esp)
	call	_fwrite
	movl	%esi, (%esp)
	call	_free
LBB2_5:	# bb.backedge
	movl	$_.str, (%esp)
	call	_printf
	movl	__imp___iob, %eax
	movl	%eax, 8(%esp)
	leal	-144(%ebp), %eax
	movl	%eax, (%esp)
	jmp	LBB2_1	# entry
LBB2_6:	# bb6
	leal	-16(%ebp), %ecx
	movl	%ecx, (%esp)
	movl	%esi, 12(%esp)
	movl	$__Z12alarm_threadPv, 8(%esp)
	movl	$0, 4(%esp)
	movl	__imp__pthread_create, %eax
	call	*%eax
	movl	$_.str3, (%esp)
	call	_puts
	jmp	LBB2_5	# bb.backedge
LBB2_7:	# bb1
	xorl	%eax, %eax
	addl	$156, %esp
	popl	%esi
	popl	%ebp
	ret
	.data
_.str:				# .str
	.asciz	"Alarm> "
_.str1:				# .str1
	.asciz	"%d %64[^\n]"
_.str2:				# .str2
	.asciz	"Bad command\n"
	.align	16
_.str3:				# .str3
	.asciz	"Create alarm thread successful."
_.str4:				# .str4
	.asciz	"Detach thread"
_.str5:				# .str5
	.asciz	"(%d) %s\n"
	.def	 _fgets;	.scl	2;	.type	32;	.endef
	.def	 _sscanf;	.scl	2;	.type	32;	.endef
	.def	 _printf;	.scl	2;	.type	32;	.endef
	.def	 _fwrite;	.scl	2;	.type	32;	.endef
	.def	 _puts;	.scl	2;	.type	32;	.endef
	.def	 _strlen;	.scl	2;	.type	32;	.endef
	.def	 _Sleep@4;	.scl	2;	.type	32;	.endef

